输入输出接口


[TOC]

1. 接口的概念

因为主机与外部设备具有不同的工作特点,它们的工作速度相差一个或几个数量级;主机与外部设备的信息形式也是不同的,为此要设置I/O接口来解决这些差异,从而使主机和外部设备能够协同工作

2. 接口的作用

  1. 实现主机和外部设备的通信联络控制:接口中的同步控制电路用来解决主机与外部设备的时间配合问题
  2. 进行地址译码和设备选择当CPU送来用来选择外部设备的地址码后,接口必须对地址进行译码,产生设备选择信息,使主机能和指定的外部设备交换信息
  3. 实现数据缓冲:在接口电路中,一般需要设置几个数据缓冲寄存器,用于数据暂存。在传输过程中,先将数据暂存到寄存器中,然后再送到输出设备或主机中
  4. 数据格式的转换:在输入输出操作中,为了满足主机或外部设备的各自要求,接口电路中必须具有完成各类数据相互转换的功能
  5. 传递控制命令和状态信息

3. 接口的组成

接口与端口端口是指接口电路中可以进行读写的寄存器,若干个端口加上相应的控制逻辑电路才组成接口

一个接口包含有:数据端口,命令端口和状态端口。分别用来存放数据信息,控制命令和状态信息

4. 外部设备的识别

为了在众多的外部设备中寻找出与主机进行信息交换的外部设备,必须对外部设备进行编址

  1. 独立编址方式:外部设备不占用主存单元。访问主存时由主存读写控制线控制,访问外部设备时,由IO读写控制线控制需要单独设立I/O指令
  2. 统一编制方式:外部设备接口的寄存器相当于主存单元(占用主存单元?),CPU可以用访问主存单元的方法访问外部设备,不需要专门的I/O指令

5. 输入输出信息传递的控制方式

  1. 程序查询方式

    1. 是一种程序直接控制方式:由CPU执行一段输入输出程序来实现主机与外部设备之间的数据传送方式
    2. 过程:某一外部设备被选中并启动后,主机将查询这个外部设备的某些状态位,看齐是否准备就绪,如果就绪执行一次I/O操作,否则再次查询
    1. 优点:控制简单
    2. 缺点:外部设备和主机不能同时工作,各外部设备之间也不同同时工作、系统效率低
    3. 适用:CPU速度不高,外部设备的种类数目不多,数据传送率较低的情况
  2. 程序中断方式

    1. 过程:主机启动设备后,继续执行原来的程序,外部设备做好输入输出准备时,向主机发送中断请求,主机接到请求后暂时中止原来执行的程序,执行中断服务程序对外部请求进行处理,中断处理完毕后返回原来的程序继续执行
    1. 优点:允许主机和外部设备同时工作;允许一台主机管理台外部设备,使它们能同时工作
    2. 缺点:
      1. 对于高速外部设备,信息交换是成批的,如果处理不及时,可能会造成信息丢失;
      2. 外部设备较多时,中断请求频繁,导致CPU应接不暇;
    3. 适用:中、低速外部设备
  3. 直接存储器存取方式(DMA)

    1. 主存储器和外部设备间开辟直接的数据通路,直接进行数据交换
    1. 优点:保证CPU的高效率,又能满足高速外部设备的需要
    2. 缺点:只能进行简单的数据传送操作,在数据块传送的起始和结束需要CPU及中断系统及逆行预处理和后处理
    3. 适用:高速外部设备
  4. IO通道的控制方式

    1. 过程:系统中设有通道控制部件,每个通道挂若干个外部设备,主机执行IO操作时,只需要启动有关通道,通道将执行通道程序,从而完成IO操作
    2. 通道是一个具有特殊功能的处理机,但通道不是一个完全独立的处理机

    优点:外部设备和通道可以并行同时工作,而且一个通道可以控制多台不同类型的设备

  5. IO处理机方式

    1. IO处理机基本上独立于主机工作